The transmission capacity of communication systems is limited due to the available resources for transmission. For example, the air interface between mobile user equipment and the access node of a radio communication system has only a limited bandwidth which has to be shared by the users of the communication system. For this reason, many communication systems comprise functions for access restriction to avoid congestion by additional traffic entering the communication system, for policing or shaping ongoing traffic to ensure the conformance of the traffic with traffic definitions, and for scheduling of the traffic to share the available resources between the users. Traffic conditioning is used throughout the text as generic term for shaping and policing. The conditioning can comprise buffering, marking and/or dropping of the traffic.
These functions often control the traffic according to parameters which are specific for the subscription of a user, for example a specified quality of service, especially with respect to the bit rate for the user. In other words, operators may choose to offer different qualities of service (QoS) depending on the user's subscription, i.e. they may choose to perform user differentiation. Depending on the type of traffic, the requirements for the transmission can differ significantly. For example, voice transmission requires low delay and jitter while a limited amount of errors can be acceptable while file transfer typically requires error-free data but allows for jitter. As a result, also traffic differentiation may be required. For providing user and traffic differentiation, a defined quality of service is an important concept in the control of data traffic as described for example in technical specification 3GPP 23.107 V 6.4.0. of the 3rd Generation Partnership Project “Quality of Service (QoS) concept and architecture”.
The traffic consists of data packets sent between the user equipment and the communication system. The user equipment and the nodes of the communication system typically have a layered protocol stack with a plurality of protocol layers, the data packets corresponding to a specific layer in the protocol stack. For the transmission, the data packets may be processed into data units of an underlying layer in the protocol stack. Such processing can comprise for example segmentation, concatenation, or padding of data packets, or adding of headers or checksums to them, or any combinations of such processing. Similarly, the data packets may carry data of a higher layer in the protocol stack.
The quality of service relating to a data transmission involving nodes of a mobile communication system and a user equipment is defined in different contexts. The user equipment and a core network node of the communication system can negotiate a PDP (Packet Data Protocol) context which specifies parameters for the transmission of data packets to and from the user equipment. Further contexts can be set up for different links of the data transmission, e.g. a radio bearer between an access node and the user equipment, which specifies the transmission parameters on the radio link. The parameters of the further contexts are normally determined according to the PDP context. Packet flows to and from the user equipment are then mapped to these contexts and forwarded accordingly by the scheduling and traffic conditioning functions.
In recent developments of mobile access systems, the scheduling function is moved closer to the air interface in order to allow higher data rates and faster responses. In a mobile communication system, for example in a UMTS system (Universal Mobile Telecommunication System) according to 3GPP (3rd Generation Partnership Project) specifications, the radio resources are thus preferably scheduled in the Radio Base Station (RBS or Node B). Fast scheduling in the Node B allows for quick resource allocation and re-allocation of resources between users. One scheduling strategy is to time-multiplex different users, so that one user or selected users are allowed to transmit at a high data rate at one time while the transmissions of other user are performed at another time. Advanced methods at the physical layer including e.g. channel dependent coding and modulation, higher order modulation schemes, or multiple input-multiple output (MIMO) together with wide spectrum bands means that the momentarily available bit-rates for each user can be very high.
However, if an operator of a communication system offers differently priced subscriptions with different quality of service, in particular with different data rates, the bit-rate is also constrained by a subscription maximum bit-rate (MBR). Similar subscriptions are already today offered by many fixed broadband (e.g. DSL) operators. Correspondingly, if the maximum bit-rate of the subscription is exceeded the user should not be allowed to use the momentarily available bit-rate, which is for a mobile communication system typically limited by the air interface. For this purpose, a traffic conditioning function can constrain the maximum bit-rate to a value below the bit-rate provided by the physical layer. A further need for a traffic conditioning function exists if the user equipment can use bearers with different Quality of Service (QoS): An application should not be allowed to misuse a bearer that has been allocated to support a certain maximum bit-rate. In both cases, the traffic conditioning function should ensure that the MBR is not exceeded.
A traffic conditioning function can be implemented using a token bucket algorithm. In this case, the bit-rate may momentarily exceed the MBR but must not exceed it on average. The allowed traffic pattern, especially burst-sizes, is specified by the parameters of the algorithm. Traffic exceeding the specified criteria is queued or dropped according to the specific implementation. An example of traffic conditioning is described in 3GPP TS 23.107 V6.4.0. The token bucket algorithm in this example is defined by the desired asymptotic, i.e. long term, maximum rate and the upper bound of the burst-size that is conforming to the conditioning criteria. Packets conforming to the traffic definition represented by the conditioning criteria are forwarded while non-compliant packets may trigger a shaping, marking or policing of the traffic.
While policing and scheduling of traffic in the downlink to the user equipment is already specified in present 3GPP specifications, the conditioning of uplink traffic from the user equipment to the radio access of the communication system still constitutes a problem. Conditioning traffic in the uplink from the user equipment to the radio network can be performed at different places all having specific disadvantages.
As a first option, traffic conditioning could be performed in the user equipment, for example in a mobile terminal as described in specification 23.107. The mobile terminal can ensure that the traffic is conforming to the conditioning criteria. However, specifications lack a detailed description of the algorithms that the user equipment should use to shape and police traffic. The methods used for conditioning and the traffic characteristics resulting from this traffic conditioning may thus differ substantially depending on the vendor of the user equipment. In addition, control by the user equipment may have the result that the conditioning function shapes or drops traffic in an undesirable manner. Furthermore, if an operator offers different QoS at different prices he also wants to be responsible for providing the QoS while the user equipment is often considered a non-trusted device. As a result, a network-controlled solution in which the network is responsible for the QoS and the conditioning function is preferred.
Alternatively, traffic conditioning may be performed in a network node controlling data traffic relating to the user equipment, for example in an RNC (Radio Network Controller), an SGSN (Serving GPRS Support Node), or a GGSN (Gateway GPRS Support Node). However, the respective conditioning function cannot immediately affect data traffic prior to this network node, e.g. over the wireless access link or the transport network. Resources used for the transmission of packets dropped by a network controlled policing function are thus wasted which is especially undesirable for the wireless link on the air interface.
A further possibility for constraining the data rate in the uplink is to limit the available transport block sizes available to the user equipment using radio resource configuration by an RNC, or scheduling restrictions in the Node B. However, such restrictions may unnecessarily limit the momentary bit rate and the opportunities to time-multiplex users so that the gains from link-dependent scheduling could potentially be lost. Sending multiple small blocks instead of fewer large blocks is typically also associated with a larger transmission overhead.
Uplink traffic conditioning by the Node B scheduler could provide a still further means for controlling the MBR using scheduling grants, including also the freedom to dynamically assign time-varying grants. However, also this option has disadvantages. The scheduler in a Node B according to 3GPP specifications can assign grants per user equipment or per dedicated channel while present user equipment can only have one dedicated channel. The Node B has therefore limited means to control the rate of individual flows. For example, if a user equipment with multiple flows performs priority scheduling, the Node B scheduler cannot allow data of from a low-priority flow while at the same time restricting then maximum bit-rate of a higher-priority flow from the same user equipment. This disadvantage could be improved by changing the standards and allowing scheduling grant assignments to specific flows. However, this option would significantly increase the required signaling.
Accordingly, existing solutions for uplink traffic conditioning are equipped with a multitude of difficulties, drawbacks and/or lack of standard support.